/** @type {建立 案例 数据表模型} */
const {
    sequelize,
    DataTypes
} = require('./db'); //导入db.js文件

const project_and_article = sequelize.define('project_and_article', {
    title: { //案例标题
        type: DataTypes.STRING,
        allowNull: false,
        defaultValue: '默认标题',
        validate: {
            // 多个参数
            len: [2, 255], // 只允许name长度在2和10之间
        }
    },
    synopsis: { //案例简介
        type: DataTypes.STRING,
        allowNull: false,
        defaultValue: '这里理应是一个简短的介绍，由于发布者过于懒惰，没写。。。' //默认值
            ,
        validate: {
            // 多个参数
            len: [2, 1000], // 只允许name长度在2和10之间
        }
    },
    cover: { //图片（封面）
        type: DataTypes.STRING,
        defaultValue: 'https://www.baidu.com/img/dong_e8b80aecc2ee2ab14545e57e1ee7642b.gif',
        validate: {
            // 多个参数
            len: [2, 1000], // 只允许name长度在2和10之间
        }
    },
    link: { //案例跳转连接
        type: DataTypes.STRING,
        defaultValue: 'http://www.lv666.top',
        validate: {
            // 多个参数
            len: [2, 1000], // 只允许name长度在2和10之间
        }
    },
    author: { //案例作者
        type: DataTypes.STRING,
        allowNull: false,
        defaultValue: "Lv's Code",
        validate: {
            // 多个参数
            len: [2, 20], // 只允许name长度在2和10之间
        }
    },
    up_time: { //上传时间
        type: DataTypes.STRING,
        allowNull: false,
        validate: {
            // 多个参数
            len: [2, 255], // 只允许name长度在2和10之间
        }

    },
    content: { //文章内容
        type: DataTypes.TEXT,
    },
    classification: { //分类
        type: DataTypes.STRING,
        allowNull: false,
        defaultValue: "other",
        validate: {
            // 多个参数
            len: [2, 255], // 只允许name长度在2和10之间
        }
    },
    reading: { //阅读量
        type: DataTypes.BIGINT,
        allowNull: false,
        defaultValue: 0
    },
    type: { //案例类型 0 为project other为文章
        type: DataTypes.STRING,
        allowNull: false,
        defaultValue: 0
    },
    message: { //留言数量
        type: DataTypes.BIGINT,
        defaultValue: 0
    }
}, {
    paranoid: true
});

module.exports = project_and_article;